// pages/day4/day4.js
import { setWatcher } from '../../utils/watch';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    n1:1,
    n2:0,
    sum:0,
    count:1000
  },
  addn1(){
    this.setData({
          n1:this.data.n1+1,
    })
  },
  addn2(){
    this.setData({
          n2:this.data.n2+1,
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // this.watchData('n1', this.handleCountChangen1)
    // this.watchData('n2', this.handleCountChangen2)

    setWatcher(this);
  },
  watch: {
    n1(n1) {
        console.log(n1)
        this.setData({
          sum:n1+this.data.n2
        })
    },
    n2(n2) {
      console.log(n2)
      this.setData({
        sum:n2+this.data.n1
      })
    },
  
},
  // 页面中类似于watch监听
  // handleCountChangen1(newVal) {
  //   console.log('count changed:', newVal)
  //   this.setData({
  //     sum:this.data.n1+this.data.n2
  //   })
  // },
  // handleCountChangen2(newVal) {
  //   console.log('count changed:', newVal)
  //   this.setData({
  //     sum:this.data.n1+this.data.n2
  //   })
  // },
  // watchData(key, callback) {
  //   let value = this.data[key]
  //   Object.defineProperty(this.data, key, {
  //     enumerable: true,
  //     configurable: true,
  //     get() {
  //       return value
  //     },
  //     set(newValue) {
  //       if (newValue !== value) {
  //         value = newValue
  //         callback.call(this, newValue)
  //       }
  //     }
  //   })
  // },
  // 子传父第一步 写事件
  // 子传父第四步 用e接受数据
  synccount(e){
    console.log("1111111111")
    console.log(e.detail.value)
    this.setData({
      count:e.detail.value
    })
  },
  getchild(){
  // 用class方法选择子组件
  //  const child =  this.selectComponent(".customA") 
  // 用id方法选择子组件
   const child =  this.selectComponent("#CA")
   console.log(child.data)
  //  使用子组件的setdata方法 改变子组件的值
  child.setData({
    count:child.properties.count+1
  })
  // 调用子组件的方法，使用子传父，改变父组件的值
  child.addcount()
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})